﻿using System;
using System.Data;
using System.Runtime.Serialization;
using System.ServiceModel;

namespace HRMService
{
    [ServiceContract(Namespace = "http://HRMService")]
    public interface ILabourContract
    {
        [OperationContract]
        DataSet LabourContract_GetReport(int LCID);

        [OperationContract]
        DataSet LabourContract_GetAll();
        [OperationContract]
        DataSet LabourContract_GetWithEmployee(int EmployeeID);

        [OperationContract]
        LabourContractInfo LabourContract_GetInfo(int LabourContractID);

        [OperationContract]
        DataSet LabourContract_GetList(out int ItemCount, int currentPage, int pageSize);

        [OperationContract]
        DataSet LabourContract_GetMaxID(int EmployeeID);

        [OperationContract]
        bool LabourContract_ActiveEmployee(int LCID);

        [OperationContract]
        int LabourContract_Insert(LabourContractInfo eInfo);

        [OperationContract]
        bool LabourContract_UpdateWithEmloyee(int EmployeeID);

        [OperationContract]
        bool LabourContract_Update(LabourContractInfo eInfo);

        [OperationContract]
        bool LabourContract_Delete(int LabourContractID);

        [OperationContract]
        DataSet LabourContract_GetWithContractType(int ContractTypeID);

        [OperationContract]
        LabourContractInfo LabourContract_GetWithEmployee_LCActive(int EmployeeID);

        [OperationContract]
        DataSet LabourContract_ConfirmIns(int EmployeeID);

    }
    [DataContract(Namespace = "http://HRMService")]
    public class LabourContractInfo
    {
        int _ID;
        [DataMember]
        public int ID
        {
            get { return _ID; }
            set { _ID = value; }
        }

        int _ContractTypeID;
        [DataMember]
        public int ContractTypeID
        {
            get { return _ContractTypeID; }
            set { _ContractTypeID = value; }
        }

        int _EmployeeID;
        [DataMember]
        public int EmployeeID
        {
            get { return _EmployeeID; }
            set { _EmployeeID = value; }
        }

        string _No;
        [DataMember]
        public string No
        {
            get { return _No; }
            set { _No = value; }
        }

        string _Description;
        [DataMember]
        public string Description
        {
            get { return _Description; }
            set { _Description = value; }
        }

        bool _IsActive;
        [DataMember]
        public bool IsActive
        {
            get { return _IsActive; }
            set { _IsActive = value; }
        }

        DateTime _Date;
        [DataMember]
        public DateTime Date
        {
            get { return _Date; }
            set { _Date = value; }
        }
        DateTime _BeginDate;
        [DataMember]
        public DateTime BeginDate
        {
            get { return _BeginDate; }
            set { _BeginDate = value; }
        }

        DateTime _FinishDate;
        [DataMember]
        public DateTime FinishDate
        {
            get { return _FinishDate; }
            set { _FinishDate = value; }
        }

        DateTime _BeginProbationPeriod;
        [DataMember]
        public DateTime BeginProbationPeriod
        {
            get { return _BeginProbationPeriod; }
            set { _BeginProbationPeriod = value; }
        }

        DateTime _EndProbationPeriod;
        [DataMember]
        public DateTime EndProbationPeriod
        {
            get { return _EndProbationPeriod; }
            set { _EndProbationPeriod = value; }
        }

        string _PlaceOfWork;
        [DataMember]
        public string PlaceOfWork
        {
            get { return _PlaceOfWork; }
            set { _PlaceOfWork = value; }
        }

        int _PositionID;
        [DataMember]
        public int PositionID
        {
            get { return _PositionID; }
            set { _PositionID = value; }
        }
        int _DepartmentID;
        [DataMember]
        public int DepartmentID
        {
            get { return _DepartmentID; }
            set { _DepartmentID = value; }
        }
        decimal  _Salary;
        [DataMember]
        public decimal Salary
        {
            get { return _Salary; }
            set { _Salary = value; }
        }
    }

}
